package com.ruoyi.web.sso.mapper;

import java.util.List;

import com.ruoyi.web.sso.domain.Group;
import com.ruoyi.web.sso.domain.GroupUser;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 集团管理关联Mapper接口
 * 
 * @author ruoyi
 * @date 2022-01-25
 */
public interface GroupUserMapper 
{
    /**
     * 查询集团管理关联
     * 
     * @param groupId 集团管理关联主键
     * @return 集团管理关联
     */
    public GroupUser selectGroupUserByGroupId(@Param("groupId")String groupId, @Param("userId")String userId);

    /**
     * 查询集团管理关联列表
     * 
     * @param groupUser 集团管理关联
     * @return 集团管理关联集合
     */
    public List<GroupUser> selectGroupUserList(GroupUser groupUser);

    /**
     * 新增集团管理关联
     * 
     * @param groupUser 集团管理关联
     * @return 结果
     */
    public int insertGroupUser(GroupUser groupUser);

    /**
     * 修改集团管理关联
     * 
     * @param groupUser 集团管理关联
     * @return 结果
     */
    public int updateGroupUser(GroupUser groupUser);

    /**
     * 删除集团管理关联
     * 
     * @param groupId 集团管理关联主键
     * @return 结果
     */
    public int deleteGroupUserByGroupId(@Param("groupId") String groupId,@Param("userId") String userId);

    /**
     * 批量删除集团管理关联
     * @param groupId 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGroupUserByGroupIds(@Param("groupId") String groupId,@Param("userIds") String[] userIds);

    @Select(" select group_id as groupId,user_id as userId  from group_user  where user_id = #{userId} LIMIT 1 ")
    public GroupUser selectGroupUserByUserId(@Param("userId")String userId);

    @Select(" SELECT g.id,g.group_name as groupName,g.addr,g.remark,g.create_time as createTime   FROM  `group` g  INNER JOIN  `group_user` gu  on gu.group_id = g.id  where gu.user_id = #{userId}")
    List<Group> selectStaffIdByGroupList(@Param("userId")String userId);
}
